package pdm.traj.service;

import java.util.List;

import pdm.traj.entity.PartInfo;
import pdm.traj.entity.TrackPoint2;
import pdm.traj.entity.TrajQuery;

/**
 * partition service
 * provide partition management service
 * @author gaozhenlong
 *
 */
public interface PartService {
    // new api
	public PartInfo getPartInfoByTP(TrackPoint2 tp);
    public List<PartInfo> getPartInfoBySid(String sid);
    public List<PartInfo> getPartInfoByQuery(TrajQuery query);
    public String getKeyPrefix();

    // to be clean
    //	public String getIpByTP(TrackPoint2 tp);

    public Integer getPIIndexByTP(TrackPoint2 tp);
    public Integer getPIIndexByPartInfo(PartInfo partInfo);
//
////	public String getKeyByTP(TrackPoint2 tp);
	public List<PartInfo> getAllPartInfo();
//    public List<String> getSidByPartInfo(PartInfo partInfo);
//
//    public List<String> getSidsByPartInfoIndex(int index);

//	public List<String> getKeysBySidDuration(List<String> sids, String startTime, String endTime);
//	public List<String> getKeysByAllSidDuration(String startTime, String endTime);
//	public List<String> getKeyPostfixByDuration(String startTime, String endTime);
//	public List<String> getKeysByRegionDuration(double x1, double y1, double x2, double y2, String startTime, String endTime);
	
}
